package com.ktgj.customer.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 预留款业务对象 deposit_business
 *
 * @author ruoyi
 * @date 2021-09-17
 */
public class DepositBusinessApi extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 业务ID */
    private Long businessId;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationtime;

    /** 备注说明 */
    @Excel(name = "备注说明")
    private String remark;

    /** 审核状态(1 未审核，2 己审核，3 审核失败) */
    @Excel(name = "审核状态(1 未审核，2 己审核，3 审核失败)")
    private String state;

    /** 审核员 */
    @Excel(name = "审核员")
    private Long auditor;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditingtime;

    /** 审核说明 */
    @Excel(name = "审核说明")
    private String auditingremark;

    /** 订单类型(1,酒店业务;2,国内机票;8,卡业务;9,租车业务;,t_deposit_subject中PARENTID = -1  11,国际机票;12,财务部调整;13,会员业务;14,旅游度假; 15,火车票;16,公司活动;17,贵宾厅;18,登机牌;19,安检通道)    业务类型(1 酒店，2 机票) */
    @Excel(name = "订单类型(1,酒店业务;2,国内机票;8,卡业务;9,租车业务;,t_deposit_subject中PARENTID = -1  11,国际机票;12,财务部调整;13,会员业务;14,旅游度假; 15,火车票;16,公司活动;17,贵宾厅;18,登机牌;19,安检通道)    业务类型(1 酒店，2 机票)")
    private String businessType;

    /** 操作员 */
    @Excel(name = "操作员")
    private Long operatorId;

    /** 预留款实际消费部门 */
    @Excel(name = "预留款实际消费部门")
    private Long deptid;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 订单来源 0：未知，10：web，2：wap，30：ios，40：android，50：smallapp，60：crm，70：wechatmall，80：ktgj，90：ktgjios，100：ktgjandroid，110：golden */
    @Excel(name = "订单来源 0：未知，10：web，2：wap，30：ios，40：android，50：smallapp，60：crm，70：wechatmall，80：ktgj，90：ktgjios，100：ktgjandroid，110：golden")
    private String ordersourceid;

    /** 客户基本信息ID */
    @Excel(name = "客户基本信息ID")
    private Long customerId;

    /** 明细金额 */
    @Excel(name = "明细金额")
    private BigDecimal detailamount;

    /** 明细变动类型(1 增加, 2 减少) */
    @Excel(name = "明细变动类型(1 增加, 2 减少)")
    private Long changetype;

    /** 汇款方式 */
    @Excel(name = "汇款方式")
    private Long advancetype;

    /** 银行类型 */
    @Excel(name = "银行类型")
    private Long banktype;

    /** 银行账号 */
    @Excel(name = "银行账号")
    private String bankcode;

    /** 预留款类型（预留款科目） */
    @Excel(name = "预留款类型", readConverterExp = "预=留款科目")
    private String reservedtype;

    /** 操作人编号 */
    @Excel(name = "操作人编号")
    private Long operapersonid;

    /** 锁定状态(1 锁定,2 解锁,3 锁定作废) */
    @Excel(name = "锁定状态(1 锁定,2 解锁,3 锁定作废)")
    private String lockState;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 订单号 */
    @Excel(name = "订单号")
    private Long orderId;

    /** 变动类型 (1 分红导入 2 订单退废 3 直接预存 4 票款余额预存 5 公司赔偿 6 订单取消 7 预定机票 8 预定酒店 9 支付欠款 10返现金 11人工调整) */
    @Excel(name = "变动类型 (1 分红导入 2 订单退废 3 直接预存 4 票款余额预存 5 公司赔偿 6 订单取消 7 预定机票 8 预定酒店 9 支付欠款 10返现金 11人工调整)")
    private String alterationtype;

    /** 是否可提现（1 不可提现，2 可提现） */
    private String drawState;

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public void setBusinessId(Long businessId)
    {
        this.businessId = businessId;
    }

    public Long getBusinessId()
    {
        return businessId;
    }
    public void setOperationtime(Date operationtime)
    {
        this.operationtime = operationtime;
    }

    public Date getOperationtime()
    {
        return operationtime;
    }
    public void setState(String state)
    {
        this.state = state;
    }

    public String getState()
    {
        return state;
    }
    public void setAuditor(Long auditor)
    {
        this.auditor = auditor;
    }

    public Long getAuditor()
    {
        return auditor;
    }
    public void setAuditingtime(Date auditingtime)
    {
        this.auditingtime = auditingtime;
    }

    public Date getAuditingtime()
    {
        return auditingtime;
    }
    public void setAuditingremark(String auditingremark)
    {
        this.auditingremark = auditingremark;
    }

    public String getAuditingremark()
    {
        return auditingremark;
    }
    public void setBusinessType(String businessType)
    {
        this.businessType = businessType;
    }

    public String getBusinessType()
    {
        return businessType;
    }
    public void setOperatorId(Long operatorId)
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId()
    {
        return operatorId;
    }
    public void setDeptid(Long deptid)
    {
        this.deptid = deptid;
    }

    public Long getDeptid()
    {
        return deptid;
    }
    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }
    public void setOrdersourceid(String ordersourceid)
    {
        this.ordersourceid = ordersourceid;
    }

    public String getOrdersourceid()
    {
        return ordersourceid;
    }
    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }
    public void setDetailamount(BigDecimal detailamount)
    {
        this.detailamount = detailamount;
    }

    public BigDecimal getDetailamount()
    {
        return detailamount;
    }
    public void setChangetype(Long changetype)
    {
        this.changetype = changetype;
    }

    public Long getChangetype()
    {
        return changetype;
    }
    public void setAdvancetype(Long advancetype)
    {
        this.advancetype = advancetype;
    }

    public Long getAdvancetype()
    {
        return advancetype;
    }
    public void setBanktype(Long banktype)
    {
        this.banktype = banktype;
    }

    public Long getBanktype()
    {
        return banktype;
    }
    public void setBankcode(String bankcode)
    {
        this.bankcode = bankcode;
    }

    public String getBankcode()
    {
        return bankcode;
    }
    public void setReservedtype(String reservedtype)
    {
        this.reservedtype = reservedtype;
    }

    public String getReservedtype()
    {
        return reservedtype;
    }
    public void setOperapersonid(Long operapersonid)
    {
        this.operapersonid = operapersonid;
    }

    public Long getOperapersonid()
    {
        return operapersonid;
    }
    public void setLockState(String lockState)
    {
        this.lockState = lockState;
    }

    public String getLockState()
    {
        return lockState;
    }
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }
    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setAlterationtype(String alterationtype)
    {
        this.alterationtype = alterationtype;
    }

    public String getAlterationtype()
    {
        return alterationtype;
    }

    public String getDrawState() {
        return drawState;
    }

    public void setDrawState(String drawState) {
        this.drawState = drawState;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("businessId", getBusinessId())
                .append("operationtime", getOperationtime())
                .append("remark", getRemark())
                .append("state", getState())
                .append("auditor", getAuditor())
                .append("auditingtime", getAuditingtime())
                .append("auditingremark", getAuditingremark())
                .append("businessType", getBusinessType())
                .append("operatorId", getOperatorId())
                .append("deptid", getDeptid())
                .append("title", getTitle())
                .append("ordersourceid", getOrdersourceid())
                .append("customerId", getCustomerId())
                .append("detailamount", getDetailamount())
                .append("changetype", getChangetype())
                .append("advancetype", getAdvancetype())
                .append("banktype", getBanktype())
                .append("bankcode", getBankcode())
                .append("reservedtype", getReservedtype())
                .append("operapersonid", getOperapersonid())
                .append("createtime", getCreateTime())
                .append("lockState", getLockState())
                .append("amount", getAmount())
                .append("orderId", getOrderId())
                .append("alterationtype", getAlterationtype())
                .toString();
    }
}
